Conventionally, when transmitting digital data such as images and speeches or the like (hereinafter, referred to as “multimedia data”) using a packet communication channel such as the internet or the like, since, different from data transmission, a real time characteristic is required rather than a reliability characteristic, protocols such as the RTP (Real-time Transport Protocol) and the UDP (User Datagram Protocol) or the like, which are specified by the IETF (Internet Engineering Task Force), are utilized.
Now, a description will be made as to a transmission method of multimedia data using the RTP.
First of all, a server that transmits data and a client that receives the data establish a session therebetween using a protocol such as the RTSP (Real Time Streaming Protocol) or the like. Then, the server generates RTP packets, which are including video, image and/or audio data as a payload (mainly, information to be transmitted excluding control information in each protocol data unit) encoded in accordance with an encoding system such as the MPEG (Moving Picture Expert Group) or the like, and a packet generation time and a sequence number representing the order of the packets as a header, and transmits the packets to the client. The client extracts video, image and/or audio data from the payload of the RTP packets received from the server, and plays back or stores the data. When the transmission of every multimedia data has completed, or when terminating the communication, the server transmits a packet, which represents session close notice command (hereinafter, referred to as “session close notice packet”) to the client, and closes the session and returns to the initial status.
In the case of carrying out transmission of multimedia data as described above, in packet communication networks, due to a congestion of a network or bit error, the client sometimes fails to receive packets, or even when the client succeeds in receiving the packets, the packets are sometimes incorrect packets. In such a case, particularly, when an important packet is missing, it results in a considerable deterioration in the image quality and the sound quality.
However, in the sequence number of the foregoing RTP packets, the order of the packets is recorded sequentially. Accordingly, it is possible to check the numbers every time when a packet is received, and at that point in time when a discontinuity is detected in the numbers, it is recognized that there is a packet that has failed to be received. When it is determined that the missing packet is necessary, it is possible for the client to transmit a retransmission request to the server, and the packet can be received again from the server.
However, in a conventional data transmitting apparatus, there is such a disadvantage; that is, when a retransmission request is made from a client to a server after a session close notice packet has been transmitted to the client, since the server has already returned to the initial status, the packet can not be retransmitted.
Referring to FIG. 1, a detailed description will be made as to a session closing operation in a conventional data transmitting apparatus. FIG. 1 is a sequence diagram illustrating a session closing operation in the conventional transmitting apparatus. In FIG. 1, a reference character SN represents a sequence number. Since the SN increases by 1 every time when a server transmits a packet, a client can detect missing of the packet when the packet is lost.
In FIG. 1, it is assumed that a packet of SN=101 transmitted by the server at a time T0 is lost. In this case, after receiving a packet of SN=100, the client detects that the packet of SN=101 is missing at that point in time when a packet of SN=102 is received. And, the client transmits a retransmission request packet to the server. However, when the server has transmitted a session close notice packet (BYE packet) at a time T1 and has already closed the session, since the server receives the retransmission request packet for the packet of SN=101 at a time T3, the server can not transmit the packet requested to retransmit.